뉴스레터 구독자 여러분 안녕하세요 :) 데이터Hub팀 데이터사이언티스트 문기범입니다. 지난 7월 20일 고려대학교만의 AI 선배가 공개되었습니다. AI 선배의 첫 번째 역할은 교양과목 추천입니다. 교양과목 추천은 학우 기반 추천과 과목 기반 추천으로 이루어져 있습니다. 학우 기반 추천은 과거 수강이력 및 수강소감평가를 기반으로 나와 가장 유사한 과목 선호도를 가진 학우들을 찾아 이들이 만족한 수업들을 추천해 주는 방식이고, 과목 기반 추천은 내가 들었던 과목들과 가장 유사한 과목들을 찾아 추천해주는 방식입니다. 이번 뉴스레터에서는 과목 기반 추천의 바탕이 되는 과목지도 시각화 방식에 대해 소개해 드리겠습니다 :)
과목지도는 아래 세 단계를 거쳐 제작됩니다.
1단계: 학생 특성 산출
2단계: 과목 특성 산출
3단계: UMAP 알고리즘을 사용한 차원 축소
4단계: 시각화
최근 트렌드를 반영하기 위해 서울 캠퍼스 2013년 이후 입학생의 데이터를 고려했습니다. 또, 33학점 이상 수강한 학생들, 즉 2학년 이상 학생들의 데이터만을 반영했습니다. 또 Academic English, 글쓰기, 사고와표현, 자정진, 1학년세미나 등 모든 학생이 공통으로 들어야 하는 수업 데이터는 제외했습니다. 종합적으로, 35,005명의 수강신청 데이터 1,296,637건이 사용되었습니다.
첫 번째 단계는 학생별 수강이력의 특성을 산출하는 것입니다. 학생의 특성은 해당 학생이 특정 학과에서 개설된 수업을 들은 비율을 통해 결정됩니다. 예를 들어 저의 사례를 소개해드리겠습니다. 심리학과 과학기술학을 전공한 제 학부시절 개설학과별 수강비율은 아래와 같습니다. 즉 저의 수강이력 특성은 심리학과 = 0.5714…, 사회학과 = 0.1428… 등으로 결정되는 것이죠.
| 개설학과 | 비율 |
|---|---|
| 심리학과 | 0.5714286 |
| 사회학과 | 0.1428571 |
| 사학과 | 0.1071429 |
| 철학과 | 0.0714286 |
| 통계학과 | 0.0357143 |
| 행정학과 | 0.0357143 |
이러한 연산을 1,296,637명의 학생에 대해 수행해 아래와 같은 표를 만들었습니다.
| 학생 | 경영학과 | 경제학과 | 체육교육과 | 정치외교학과 | 철학과 | 사회학과 | 수학과 | 통계학과 | 심리학과 | 사학과 | 한문학과 | 국어국문학과 | 불어불문학과 | 독어독문학과 | 디자인조형학부 | 한국사학과 | 영어영문학과 | 언어학과 | 생명과학부 | 일어일문학과 | 중어중문학과 | 가정교육과 | 미디어학부 | 역사교육과 | 영어교육과 | 노어노문학과 | 컴퓨터학과 | 행정학과 | 서어서문학과 | 지리교육과 | 환경생태공학부 | 생명공학부 | 화공생명공학과 | 지구환경과학과 | 식품자원경제학과 | 물리학과 | 국제학부 | 화학과 | 교육학과 | 기계공학부 | 신소재공학부 | 산업경영공학부 | 건축사회환경공학부 | 건축학과 | 전기전자공학부 | 수학교육과 | 간호학과 | 바이오시스템의과학부 | 보건환경융합과학부 | 보건정책관리학부 | 바이오의공학부 | 식품공학과 | 국어교육과 | 의예과 | 사이버국방학과 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | 1.00 | 0.00 | 0 | 0 | 0.00 | 0 | 0.00 | 0.00 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| B | 0.86 | 0.14 | 0 | 0 | 0.00 | 0 | 0.00 | 0.00 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| C | 0.49 | 0.31 | 0 | 0 | 0.04 | 0 | 0.08 | 0.08 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
위 표에서 각 열은 현재 고려대학교에 존재하는 55개 학과를 나타냅니다. 몇몇 이유로 수강이력의 이질성이 강한 자유전공학부, 의예과(의학과), 체육교육과는 컬럼에서 제외하였습니다. 위 표의 A학생은 입학 후 졸업할 때까지 경영학과에서 개설한 수업만을 수강한 학생입니다. 이 학생은 ’경영학과’적인 특성이 매우 강하다고 볼 수 있겠죠? 반면, C학생은 경영학과에서 개설한 수업을 49%나 수강했지만, 경제학과에서 수강한 과목도 31% 수강했습니다. 이 외에도 수학과, 통계학과에서 개설한 수업도 각각 8% 씩 수강했습니다. 즉 C학생은 A학생에 비해 ’경영학과’적인 특성은 상대적으로 약한 반면 상당한 ’경제학과’적 특성을 가지고 수학과와 통계학과가 상징하는 약간의 수리적인 특성을 가지고 있다고 볼 수 있습니다.
이번에는 이렇게 산출된 학생별 특성을 활용해 과목별 특성을 구하는 법을 살펴보겠습니다. 아래 표는 세계와한국경제(영강)라는 과목을 수강한 학생들의 특성을 모아놓은 것입니다.
| 학생 | 경영학과 | 경제학과 | 체육교육과 | 정치외교학과 | 철학과 | 사회학과 | 수학과 | 통계학과 | 심리학과 | 사학과 | 한문학과 | 국어국문학과 | 불어불문학과 | 독어독문학과 | 디자인조형학부 | 한국사학과 | 영어영문학과 | 언어학과 | 생명과학부 | 일어일문학과 | 중어중문학과 | 가정교육과 | 미디어학부 | 역사교육과 | 영어교육과 | 노어노문학과 | 컴퓨터학과 | 행정학과 | 서어서문학과 | 지리교육과 | 환경생태공학부 | 생명공학부 | 화공생명공학과 | 지구환경과학과 | 식품자원경제학과 | 물리학과 | 국제학부 | 화학과 | 교육학과 | 기계공학부 | 신소재공학부 | 산업경영공학부 | 건축사회환경공학부 | 건축학과 | 전기전자공학부 | 수학교육과 | 간호학과 | 바이오시스템의과학부 | 보건환경융합과학부 | 보건정책관리학부 | 바이오의공학부 | 식품공학과 | 국어교육과 | 의예과 | 사이버국방학과 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 가 | 0.00 | 0.87 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.02 | 0 | 0.02 | 0.00 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0 | 0.00 | 0 | 0 | 0.02 | 0.00 | 0 | 0.00 | 0 | 0.04 | 0 | 0.00 | 0.00 | 0.00 | 0 | 0 | 0 | 0 | 0.02 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 나 | 0.00 | 0.42 | 0.02 | 0.04 | 0.07 | 0.02 | 0.00 | 0.00 | 0 | 0.00 | 0.04 | 0 | 0.00 | 0.00 | 0.00 | 0.02 | 0 | 0.00 | 0 | 0 | 0.00 | 0.04 | 0 | 0.00 | 0 | 0.00 | 0 | 0.31 | 0.00 | 0.00 | 0 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 다 | 0.00 | 0.37 | 0.00 | 0.00 | 0.00 | 0.00 | 0.03 | 0.29 | 0 | 0.05 | 0.11 | 0 | 0.03 | 0.03 | 0.00 | 0.08 | 0 | 0.00 | 0 | 0 | 0.00 | 0.00 | 0 | 0.00 | 0 | 0.00 | 0 | 0.00 | 0.00 | 0.00 | 0 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0 | 0 | 0 | 0.03 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 라 | 0.00 | 0.36 | 0.01 | 0.00 | 0.08 | 0.03 | 0.00 | 0.00 | 0 | 0.03 | 0.05 | 0 | 0.00 | 0.00 | 0.00 | 0.03 | 0 | 0.00 | 0 | 0 | 0.00 | 0.02 | 0 | 0.00 | 0 | 0.03 | 0 | 0.38 | 0.00 | 0.00 | 0 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 마 | 0.00 | 0.08 | 0.00 | 0.49 | 0.08 | 0.00 | 0.00 | 0.00 | 0 | 0.04 | 0.00 | 0 | 0.00 | 0.00 | 0.04 | 0.15 | 0 | 0.00 | 0 | 0 | 0.00 | 0.00 | 0 | 0.05 | 0 | 0.00 | 0 | 0.08 | 0.00 | 0.00 | 0 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 바 | 0.38 | 0.05 | 0.00 | 0.38 | 0.05 | 0.03 | 0.00 | 0.00 | 0 | 0.00 | 0.00 | 0 | 0.00 | 0.03 | 0.00 | 0.00 | 0 | 0.03 | 0 | 0 | 0.00 | 0.03 | 0 | 0.00 | 0 | 0.00 | 0 | 0.00 | 0.03 | 0.00 | 0 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 사 | 0.00 | 0.00 | 0.00 | 0.61 | 0.04 | 0.04 | 0.00 | 0.00 | 0 | 0.04 | 0.04 | 0 | 0.07 | 0.02 | 0.00 | 0.04 | 0 | 0.00 | 0 | 0 | 0.00 | 0.04 | 0 | 0.00 | 0 | 0.00 | 0 | 0.04 | 0.00 | 0.04 | 0 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
가 학생은 ‘경제학과’ 수강비율이 높고, 바 학생은 ‘경영학과’와 ’정치외교학과’ 수강비율이 고루 높네요. 하지만, 예시에 담긴 학생 모두 누구도 기계공학부, 신소재공학부 등 이공계 관련 영역에서의 수강비율이 0인 것을 확인할 수 있습니다. 이렇게 지난 7년 간 이 강의를 수강한 학생들의 특성을 종합하면 이 과목의 특성을 알아낼 수 있지 않을까요? 아래 표는 해당 과목을 수강한 학생들의 특성을 평균낸 결과입니다.
| 경영학과 | 경제학과 | 체육교육과 | 정치외교학과 | 철학과 | 사회학과 | 수학과 | 통계학과 | 심리학과 | 사학과 | 한문학과 | 국어국문학과 | 불어불문학과 | 독어독문학과 | 디자인조형학부 | 한국사학과 | 영어영문학과 | 언어학과 | 생명과학부 | 일어일문학과 | 중어중문학과 | 가정교육과 | 미디어학부 | 역사교육과 | 영어교육과 | 노어노문학과 | 컴퓨터학과 | 행정학과 | 서어서문학과 | 지리교육과 | 환경생태공학부 | 생명공학부 | 화공생명공학과 | 지구환경과학과 | 식품자원경제학과 | 물리학과 | 국제학부 | 화학과 | 교육학과 | 기계공학부 | 신소재공학부 | 산업경영공학부 | 건축사회환경공학부 | 건축학과 | 전기전자공학부 | 수학교육과 | 간호학과 | 바이오시스템의과학부 | 보건환경융합과학부 | 보건정책관리학부 | 바이오의공학부 | 식품공학과 | 국어교육과 | 의예과 | 사이버국방학과 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0.1 | 0.31 | 0.01 | 0.08 | 0.05 | 0.03 | 0.01 | 0.05 | 0.02 | 0.03 | 0.01 | 0.01 | 0.02 | 0.02 | 0.01 | 0.03 | 0.02 | 0.01 | 0 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0 | 0.01 | 0 | 0.07 | 0.01 | 0 | 0 | 0 | 0 | 0 | 0.01 | 0 | 0.02 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
세계와한국경제(영강)과목은 ‘경제학과’적 특성이 가장 강하고 ’경영학과’, ‘정치외교학과’, ’행정학과’의 특성을 조금 가지고 있습니다. 이런 방식으로 아래와 같이 지금까지 개설된 모든 교양과목에 대해 각 과목별 특성을 산출할 수 있습니다. 아래 예시를 한 번 살펴봐 주세요.
| 과목이름 | 경영학과 | 경제학과 | 체육교육과 | 정치외교학과 | 철학과 | 사회학과 | 수학과 | 통계학과 | 심리학과 | 사학과 | 한문학과 | 국어국문학과 | 불어불문학과 | 독어독문학과 | 디자인조형학부 | 한국사학과 | 영어영문학과 | 언어학과 | 생명과학부 | 일어일문학과 | 중어중문학과 | 가정교육과 | 미디어학부 | 역사교육과 | 영어교육과 | 노어노문학과 | 컴퓨터학과 | 행정학과 | 서어서문학과 | 지리교육과 | 환경생태공학부 | 생명공학부 | 화공생명공학과 | 지구환경과학과 | 식품자원경제학과 | 물리학과 | 국제학부 | 화학과 | 교육학과 | 기계공학부 | 신소재공학부 | 산업경영공학부 | 건축사회환경공학부 | 건축학과 | 전기전자공학부 | 수학교육과 | 간호학과 | 바이오시스템의과학부 | 보건환경융합과학부 | 보건정책관리학부 | 바이오의공학부 | 식품공학과 | 국어교육과 | 의예과 | 사이버국방학과 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 디자인지식재산권 | 0.05 | 0.04 | 0.01 | 0.03 | 0.05 | 0.02 | 0.01 | 0.01 | 0.02 | 0.03 | 0.01 | 0.01 | 0.01 | 0.01 | 0.36 | 0.02 | 0.01 | 0.01 | 0.01 | 0 | 0 | 0.01 | 0.02 | 0.01 | 0.01 | 0 | 0.02 | 0.02 | 0.01 | 0.01 | 0.01 | 0.01 | 0.00 | 0 | 0 | 0.00 | 0 | 0.00 | 0 | 0.00 | 0.00 | 0.01 | 0.00 | 0.10 | 0.00 | 0 | 0.00 | 0.00 | 0.00 | 0.02 | 0.00 | 0.01 | 0 | 0 | 0 |
| 과학기술과지식재산 | 0.01 | 0.01 | 0.01 | 0.00 | 0.01 | 0.00 | 0.08 | 0.01 | 0.01 | 0.01 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.01 | 0.00 | 0.00 | 0.05 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0 | 0.02 | 0.00 | 0.00 | 0.00 | 0.02 | 0.01 | 0.13 | 0 | 0 | 0.06 | 0 | 0.06 | 0 | 0.04 | 0.14 | 0.02 | 0.06 | 0.05 | 0.12 | 0 | 0.01 | 0.01 | 0.01 | 0.00 | 0.01 | 0.01 | 0 | 0 | 0 |
’디자인지식재산권’과 ’과학기술과지식재산’은 모두 지식재산권과 관련된 내용을 다룰 것으로 예상됩니다. 그런데, ’디자인지식재사권’은 디자인조형학부와 건축학과적인 특성이 높은 반면에, ’과학기술과지식재산’은 신소재공학부, 화공생명공학과, 전기전자공학부의 특성이 높게 나타났습니다. 이러한 결과를 통해 학생별 특성을 활용해 산출한 과목별 특성이 꽤 타당해 보이지 않으시나요?
1단계와 2단계를 통해 각 과목별로 55개 차원 특성을 산출했습니다. 3단계에서는 55개 차원을 2차원으로 축소할 것입니다. 1, 2단계에서 산출된 55개 차원은 과목별 유사도를 구하는 기준이 되기도 하지만, 이번 뉴스레터에서는 과목지도를 만드는 과정에 집중해볼게요. 차원 축소에 사용되는 머신러닝 알고리즘은 PCA, tSNE, LDA 등 다양합니다. 저는 최근에 각광받고 있는 UMAP 알고리즘을 사용했습니다. 최근 3년 이내 개설된 적이 있는 과목들만 표시하였습니다.
UMAP을 통해 각 과목별 X축, Y축 좌표가 생성되면 이를 기반으로 Scatter Plot을 제작할 수 있습니다. 그리고 이것이 바로 과목지도입니다 :) 아래 plot은 과목지도를 활용해 교양과목을 탐색하는 다양한 방법을 소개하고 있습니다. 하지만 일부 데이터가 부정확할 수 있으니 정확한 정보는 ‘AI 선배’나 ’수강신청’ 홈페이지를 통해 확인해주세요!
오른쪽 범례를 통해 원하는 교양과목들을 확인할 수 있습니다. 범례를 한 번 클릭하면 그 과목영역에 해당하는 교양 과목들을 키거나 끌 수 있습니다. 한 영역을 더블클릭하면 해당영역만 남겨두고 나머지 영역들을 끌 수 있습니다.
전체 교양과목 중에서 선택한 학과적인 특징이 높은 과목들을 노란색, 낮은 과목들을 보라색으로 보여줍니다. 오른쪽 범례에서 상위에 위치할수록 해당 학과에서 개설한 수업이 선택한 학과적인 특성이 높다는 것을 의미합니다. 제가 무슨 말을 하는 지 아직 잘 모르시겠죠? 아래 탭을 눌러보세요!
사학과적인 특성이 높은 과목들을 노란색, 낮은 과목을 보라색으로 보여줍니다. 중국의역사와인물이라는 수업이 사학과적인 특성이 가장 높네요! 오른쪽 범례는 당연히 사학과에서 개설한 과목이 사학과적인 특성이 가장 높고 중어중문학과, 한문학과에서 개설한 과목들이 그 뒤를 잇는다는 것을 보여줍니다. 반면에 화공생명공학과, 보건환경융합과학부, 화학과 등에서 개설한 수업이 사학과적인 특성이 가장 낮은 것으로 나타났습니다.
전기전자공학부적인 특성이 강한 과목으로는 공업통계가 확인되네요. 전기전자공학부적인 특성이 강한 과목은 산업경영공학부에서 많이 개설되고, 보건정책관리학부에서는 잘 개설되지 않는 것으로 나타났습니다.
학과단위로 되어있는 과목별 특성을 단과대학 단위로 구분하면 각 과목의 단과대학 단위의 특성을 간접적으로 산출할 수 있습니다.
정경대학적인 특성이 가장 강한 과목으로는 통계적탐구, 정치학의기본탐구 등의 과목이 있네요. 개설단과대학 기준으로는 당연히 정경대학에서 개설한 과목들이 가장 높고 정경대학적인 특성이 가장 높고, 법학전문대학원, 문과대학에서 개설한 과목들이 그 뒤를 이었습니다. 반면에 간호대학, 공과대학에서 개설한 과목들이 정경대학적인 특성이 가장 낮았습니다.
이과대학적인 특성이 높은 과목은 화학수학이 있네요. 공과대학에서 개설된 수업들이 이과대학적인 특성이 높고, 국제학부에서 개설되는 수업이 이과대학과 가장 먼 것으로 나타납니다.
오늘은 AI 선배 과목 기반 추천에서 소개된 과목 지도에 대해 조금 깊게 다뤄봤습니다. 재미있으셨나요? 과목지도를 더 자유롭게 탐색해보고 싶은 분을 위해 간단한 앱을 제작했습니다. 과목지도 APP(클릭)을 이용해주세요. 그리고 앞으로 AI 선배가 어떻게 성장해 나갈 지 관심을 가지고 지켜봐주세요 :) 데이터 분석과 관련해 궁금하신 점이나 건의사항이 있으시면 언제든지 메일 주세요! (문기범: a072826@korea.ac.kr) 그럼 다음 뉴스레터에서 또 뵙겠습니다. 감사합니다.